Methods for obtaining a navigation track between a first and a second location at a client device using location information obtained from a server device and related devices and computer program products

ABSTRACT

A client device is operated to obtain a navigation track between a first location and a second location by establishing a communication connection with a server device and receiving a message that contains information associated with the first location and/or the second location from the server device. The information is associated with a navigation module on the client device. The information associated with the first location and/or the second location is processed using the navigation module to obtain the navigation track between the first location and the second location.

RELATED APPLICATION

This application is a divisional of U.S. application Ser. No.11/710,140, filed Feb. 23, 2007, issuing as U.S. Pat. No. 9,014,973, onApr. 21, 2015, the disclosure of which is hereby incorporated herein byreference as if set forth in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates generally to communication networks anddevices that operate thereon and, more particularly, to sharing locationinformation between devices on a communication network.

When people communicate today through, for example, email, InstantMessaging (IM) programs, Short Message Service (SMS) messages, etc., themessages are often limited to simple text information and/or attachmentscontaining text, graphic files, audio files, video files, and the like.When people plan to meet at a specific place, individuals typically tryto describe the location or, if known, provide a street address or othertype of identifying information, which the recipient may then provide asinput to a mapping application, such as, for example, mappingapplications provided Yahoo, Google, and Mapquest. Similarly, if acomputer user is reviewing a Website of a business and decides he/shewants to visit the business, the user may obtain the address of thebusiness from the Website and provide that address to a mappingapplication as described above. Alternatively, the business Website mayprovide a link to a map that contains directions to the businesslocation when approaching from various locations. Thus, for a user toobtain more detailed information about a location, such as, for example,directions from a current location or reference information related tothe location, the user may need to make use of a public mappingapplication or seek out the detailed information on a Website or otherlocation information source. Services, such as evite.com, may allowemail invitations to be sent with a link to a map for a given address.The recipient may still need to print the map and directions or handwrite the directions to make effective use of the map and/or directions,however.

SUMMARY

According to some embodiments of the present invention, a client deviceis operated to obtain a navigation track between a first location and asecond location by establishing a communication connection with a serverdevice and receiving a message that contains information associated withthe first location and/or the second location from the server device.The information is associated with a navigation module on the clientdevice. The information associated with the first location and/or thesecond location is processed using the navigation module to obtain thenavigation track between the first location and the second location.

In other embodiments of the present invention, the information is savedat the client device and the communication connection with the serverdevice is ended before processing the information.

In still other embodiments of the present invention, the server deviceis a Web server device and the communication connection is a HyperTextTransfer Protocol (HTTP) communication connection.

In still other embodiments of the present invention, processing theinformation comprises accessing a navigation information repository onthe client device to determine the navigation track between the firstlocation and the second location.

In still other embodiments of the present invention, processing theinformation comprises accessing a remote navigation informationrepository via a communication connection therewith to determine thenavigation track between the first location and the second location.

In still other embodiments of the present invention, the first locationis a current location of the client device.

In still other embodiments of the present invention, the determinednavigation track is updated responsive to changes in the currentlocation of the client device.

In still other embodiments of the present invention, neither of thefirst location and second location is a current location of the clientdevice.

In still other embodiments of the present invention, the first locationand/or the second location is sent to the server device before receivingthe information.

In still other embodiments of the present invention, the informationassociated with the first location and/or the second location comprisesGlobal Positioning System (GPS) information, cellular technologylocation information, an address, and/or a name.

In still other embodiments of the present invention, the GPS informationis encoded in a GPS eXchange (GPX) format.

In still other embodiments of the present invention, the informationassociated with the first location and/or the second location comprisesat least one waypoint between the first location and the secondlocation, and the obtained navigation track between the first locationand the second location includes the at least one waypoint.

In still other embodiments of the present invention, the messagecomprises a Short Message Service (SMS) text message, a hyperlink, anelectronic mail, a directory listing, an advertisement, and/or a Voiceover Internet Protocol (VoIP) call. In addition, the locationinformation may be an attachment to the message and/or is embedded inthe message using at least one delimiter.

In further embodiments of the present invention, a server device isoperated by establishing a communication connection with a clientdevice, and sending a message that contains information associated witha first location and/or a second location to the client device. Theinformation is associated with navigation module on the client to allowthe client device to process the information and to obtain thenavigation track between the first location and the second location.

In still further embodiments, the first location and/or the secondlocation is received from the client device before sending theinformation.

In still further embodiments, the information associated with the firstlocation and/or the second location comprises at least one waypointbetween the first location and the second location. The informationassociated with the first location and/or the second location comprisesa Short Message Service (SMS) text message, a hyperlink, an electronicmail, a directory listing, an advertisement, and/or a Voice overInternet Protocol (VoIP) call. In addition, the location information maybe an attachment to the message and/or is embedded in the message usingat least one delimiter.

Although described primarily above with respect to method embodiments ofthe present invention, it will be understood that the present inventioncan be embodied as methods, client devices, server devices, and/orcomputer program products.

Other systems, methods, and/or computer program products according toembodiments of the invention will be or become apparent to one withskill in the art upon review of the following drawings and detaileddescription. It is intended that all such additional systems, methods,and/or computer program products be included within this description, bewithin the scope of the present invention, and be protected by theaccompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features of the present invention will be more readily understoodfrom the following detailed description of specific embodiments thereofwhen read in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram that illustrates a client-server environmentin accordance with some embodiments of the present invention;

FIG. 2 is a block diagram that illustrates a communication networkarchitecture to facilitate obtaining a navigation track at a clientdevice based on location information received from a server device inaccordance with some embodiments of the present invention;

FIG. 3 is a block diagram that illustrates a client device/mobileterminal in accordance with some embodiments of the present invention;

FIGS. 4 and 5 are flowcharts that illustrate operations of clientdevices and server devices, respectively, for obtaining a navigationtrack at a client device based on location information received from aserver device in accordance with some embodiments of the presentinvention;

FIG. 6 is a message flow diagram that illustrates operations forprocessing location information at a client device to obtain anavigation track in accordance with some embodiments of the presentinvention; and

FIGS. 7-10 are client device displays that illustrate the presentationof a navigation track to a user of a client device in accordance withsome embodiments of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

While the invention is susceptible to various modifications andalternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that there is no intent to limit theinvention to the particular forms disclosed, but on the contrary, theinvention is to cover all modifications, equivalents, and alternativesfalling within the spirit and scope of the invention as defined by theclaims. Like reference numbers signify like elements throughout thedescription of the figures.

As used herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless expressly stated otherwise. Itshould be further understood that the terms “comprises” and/or“comprising” when used in this specification is taken to specify thepresence of stated features, integers, steps, operations, elements,and/or components, but does not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. It will be understood that when anelement is referred to as being “connected” or “coupled” to anotherelement, it can be directly connected or coupled to the other element orintervening elements may be present. Furthermore, “connected” or“coupled” as used herein may include wirelessly connected or coupled. Asused herein, the term “and/or” includes any and all combinations of oneor more of the associated listed items.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this invention belongs. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art andwill not be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.

The present invention may be embodied as methods, electronic devices,and/or computer program products. Accordingly, the present invention maybe embodied in hardware and/or in software (including firmware, residentsoftware, micro-code, etc.). Furthermore, the present invention may takethe form of a computer program product on a computer-usable orcomputer-readable storage medium having computer-usable orcomputer-readable program code embodied in the medium for use by or inconnection with an instruction execution system. In the context of thisdocument, a computer-usable or computer-readable medium may be anymedium that can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific examples (a nonexhaustive list) of thecomputer-readable medium would include the following: an electricalconnection having one or more wires, a portable computer diskette, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,and a compact disc read-only memory (CD-ROM). Note that thecomputer-usable or computer-readable medium could even be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory.

As used herein, the term “mobile terminal” may include a satellite orcellular radiotelephone with or without a multi-line display; a PersonalCommunications System (PCS) terminal that may combine a cellularradiotelephone with data processing, facsimile and data communicationscapabilities; a PDA that can include a radiotelephone, pager,Internet/intranet access, Web browser, organizer, calendar and/or aglobal positioning system (GPS) receiver; and a conventional laptopand/or palmtop receiver or other appliance that includes aradiotelephone transceiver. Mobile terminals may also be referred to as“pervasive computing” devices.

As used herein, the term “message” means a unit of information and/or ablock of data that may be transmitted electronically as a whole or viasegments from one device to another. Accordingly, as used herein, theterm “message” may encompass such terms of art as “frame” and/or“packet,” which may also be used to refer to a unit of transmission.

For purposes of illustration, some embodiments of the present inventionare described herein in the context of a client device being a mobileterminal. It will be understood, however, that the present invention isnot limited to such embodiments and that a client device may be embodiedas any electronic device that is configured to process locationinformation received, for example, from a server device.

Some embodiments of the present invention stem from a realization thatlocation information may be attached to and/or embedded in a messagesimilar to the manner in which documents, files, hyperlinks, metadata,and packet headers are attached to and/or embedded in messages. Thelocation information may be associated with a navigation module on thereceiving device, which is used to process the location information toobtain a navigation path. Processing the location information could beautomatic in that the navigation module automatically extracts andprocesses the location information contained in the message. In otherembodiments, the location information may not be processed until a userof the client device performs an action to begin processing of theinformation.

Embodiments according to the invention can operate in a logicallyseparated client side/server side-computing environment, sometimesreferred to hereinafter as a client/server environment. As shown in FIG.1, a client 10 may communicate with a server 20 over a wireless and/orwireline communication medium 30. The client/server environment is acomputational architecture that involves a client process (i.e., aclient) requesting service from a server process (i.e., a server). Ingeneral, the client/server environment maintains a distinction betweenprocesses, although client and server processes may operate on differentmachines or on the same machine. Accordingly, the client and serversides of the client/server environment are referred to as beinglogically separated. Usually, when client and server processes operateon separate devices, each device can be customized for the needs of therespective process. For example, a server process can “run on” a systemhaving large amounts of memory and disk space, whereas the clientprocess often “runs on” a system having a graphic user interfaceprovided by high-end video cards and large-screen displays.

A client can be a program, such as a Web browser, that requestsinformation, such as web pages, from a server under the control of auser. Examples of clients include browsers such as Netscape Navigator®(America Online, Inc., Dulles, Va.) and Internet Explorer® (MicrosoftCorporation, Redmond, Wash.). Browsers typically provide a graphicaluser interface for retrieving and viewing web pages, web portals,applications, and other resources served by Web servers. A SOAP clientcan be used to request web services programmatically by a program inlieu of a web browser. The applications provided by the serviceproviders may execute on a server. The server can be a program thatresponds to the requests from the client. Some examples of servers areInternational Business Machines Corporation's family of Lotus Domino®servers, the Apache server and Microsoft's Internet Information Server(IIS) (Microsoft Corporation, Redmond, Wash.).

The clients and servers can communicate using a standard communicationsmode, such as Hypertext Transport Protocol (HTTP) and SOAP. According tothe HTTP request-response communications model, HTTP requests are sentfrom the client to the server and HTTP responses are sent from theserver to the client in response to an HTTP request. In operation, theserver waits for a client to open a connection and to requestinformation, such as a Web page. In response, the server sends a copy ofthe requested information to the client, closes the connection to theclient, and waits for the next connection. It will be understood thatthe server can respond to requests from more than one client.

Referring now to FIG. 2, a network architecture 200 that facilitatesobtaining a navigation track at a client device based on locationinformation received from a server device, according to some embodimentsof the present invention, includes client devices 220 a and 220 b, anavigation information repository server 250, and a server 260 that areconnected via a network 240 as shown. The network 240 includes awireless base station transceiver 230 that may facilitate wirelesscommunication with the mobile client terminal 220 a. The navigationinformation repository server 250 may be accessed by other devices toobtain navigation information therefrom and/or to process navigationinformation to determine a navigation track. A navigation track is theactual path followed by or intended for a moving body. As will bediscussed further herein, the server 260 may communicate with a clientdevice, such as client devices 220 a and 220 b to transmit a messagethereto that contains location information attached thereto or embeddedtherein. The location information is associated with navigation moduleson the client devices 220 a and/or 220 b, which process the locationinformation. The network 240 may represent a global network, such as theInternet, or other publicly accessible network. The network 240 mayalso, however, represent a wide area network, a local area network, anIntranet, or other private network, which may not accessible by thegeneral public. Furthermore, the network 240 may represent a combinationof public and private networks or a virtual private network (VPN).Moreover, client device 220 a is described as a mobile terminal forpurposes of illustrating some embodiments of the present invention. Itwill be understood, however, that the present invention is not limitedto such embodiments and that a client device may be embodied as anyelectronic device that is configured to process location informationreceived, for example, from a server device, such as server device 260.Thus, according to various embodiments of the present invention, aclient device may be a mobile terminal such as client device 220 a, ormay be relatively stationary, such as client device 220 b.

Although FIG. 2 illustrates an exemplary communication network, it willbe understood that the present invention is not limited to suchconfigurations, but is intended to encompass any configuration capableof carrying out the operations described herein.

Referring now to FIG. 3, an exemplary mobile terminal 300 that may beused to implement a client device, such as client device 220 a of FIG.2, in accordance with some embodiments of the present invention,includes a Global Positioning System (GPS) module 301, a video recorder302, a camera 305, a microphone 310, a keyboard/keypad 315, a speaker320, a display 325, a transceiver 330, and a memory 335 that communicatewith a processor 340. The transceiver 330 comprises a transmittercircuit 345 and a receiver circuit 350, which respectively transmitoutgoing radio frequency signals to base station transceivers andreceive incoming radio frequency signals from the base stationtransceivers via an antenna 355. The radio frequency signals transmittedbetween the mobile terminal 300 and the base station transceivers maycomprise both traffic and control signals (e.g., paging signals/messagesfor incoming calls), which are used to establish and maintaincommunication with another party or destination. The radio frequencysignals may also comprise packet data information, such as, for example,cellular digital packet data (CDPD) information. The foregoingcomponents of the mobile terminal 300 may be included in manyconventional mobile terminals and their functionality is generally knownto those skilled in the art.

The processor 340 communicates with the memory 335 via an address/databus. The processor 340 may be, for example, a commercially available orcustom microprocessor. The memory 335 is representative of the one ormore memory devices containing the software and data used to operate themobile terminal and to process location information received from, forexample, a server device. The memory 335 may include, but is not limitedto, the following types of devices: cache, ROM, PROM, EPROM, EEPROM,flash, SRAM, and DRAM.

As shown in FIG. 3, the memory 335 may contain four or more categoriesof software and/or data: the operating system 365, a communicationmodule 370, a navigation module 375, and/or a navigationinformation/data module 380. The operating system 365 generally controlsthe operation of the mobile terminal 300. In particular, the operatingsystem 365 may manage the mobile terminal's software and/or hardwareresources and may coordinate execution of programs by the processor 340.The communication module 370 may be configured to manage thecommunication protocols that are used to allow the mobile terminal 300communicate with other devices and systems. The navigation module 375may be configured to process a message received, for example, from aserver device and extract location information therefrom.

In accordance with various embodiments of the present invention, thelocation information may be attached to the message or may be embeddedin the message using one or more delimiters. The navigation module 375may use the received location information in conjunction with thenavigation information/data module 380 to obtain a navigation trackbetween two locations. The navigation information/data module 380 may,for example, include geographic information/data for a particular area,region, or even the world.

The navigation module 375 may also cooperate with the communicationmodule 370 to access a remote navigation information repository, such asserver 250 of FIG. 2. Similar to the navigation information/data module380, the navigation information repository server 250 may includegeographic information/data, which is communicated back to the clientdevice. In some embodiments, the client device may send the locationinformation extracted from the received message to the navigationinformation repository server 250, which processes the received locationinformation and communicates a navigation track back to the clientdevice.

In accordance with some embodiments of the present invention, thelocation information may identify one or more locations and may beassociated with the navigation module 375 for processing. The locationinformation may be included in a message such as a Short Message Service(SMS) text message, a hyperlink, an electronic mail, a directorylisting, an advertisement, and/or a Voice over Internet Protocol (VoIP)call. The location information may be GPS information, an address,and/or a name in accordance with some embodiments of the presentinvention. The GPS information may be encoded, for example, in the GPSeXchange Format (GPX), which is an Extensible Markup Language (XML)standard for communicating GPS data between software applications. Inother embodiments, the location information may include cellular/Wi-Fitechnology location information. For example, cellular/Wi-Fi technologymay be used to track the current position of a mobile terminal. The basestations in a wireless network that are used to transmit and receive thecellular/Wi-Fi communication signals may monitor the relative signalstrength as a mobile terminal changes locations. An approximate locationof a mobile terminal may be determined based on the signal strengthreceived at multiple base stations.

Although FIG. 3 illustrates an exemplary software and hardwarearchitecture that may be used to process location information receivedin a message at a client device it will be understood that the presentinvention is not limited to such a configuration, but is intended toencompass any configuration capable of carrying out the operationsdescribed herein.

Computer program code for carrying out operations of devices and/orsystems discussed above with respect to FIGS. 1-3 may be written in ahigh-level programming language, such as Java, C, and/or C++, fordevelopment convenience. In addition, computer program code for carryingout operations of embodiments of the present invention may also bewritten in other programming languages, such as, but not limited to,interpreted languages. Some modules or routines may be written inassembly language or even micro-code to enhance performance and/ormemory usage. It will be further appreciated that the functionality ofany or all of the program modules may also be implemented using discretehardware components, one or more application specific integratedcircuits (ASICs), or a programmed digital signal processor ormicrocontroller.

The present invention is described hereinafter with reference to messageflow, flowchart and/or block diagram illustrations of methods, devices,and/or computer program products in accordance with some embodiments ofthe invention. These message flow, flowchart and/or block diagramsfurther illustrate exemplary operations for processing locationinformation received at a client device, from, for example, a serverdevice in accordance with various embodiments of the present invention.It will be understood that each message/block of the message flow,flowchart and/or block diagram illustrations, and combinations ofmessages/blocks in the message flow, flowchart and/or block diagramillustrations, may be implemented by computer program instructionsand/or hardware operations. These computer program instructions may beprovided to a processor of a general purpose computer, a special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions specified in the message flow,flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerusable or computer-readable memory that may direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer usable orcomputer-readable memory produce an article of manufacture includinginstructions that implement the function specified in the message flow,flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in themessage flow, flowchart and/or block diagram block or blocks.

Operations for processing location information at a client device thatis received, for example, from a server device, will now be describedwith reference to FIGS. 4 and 5 and the network and client devicearchitectures of FIGS. 2 and 3, respectively. Operations begin at block400 where a client device 220 a, 220 b establishes communication with aserver device 260. The client device 220 a, 220 b receives a messagethat contains information associated with a first and/or a secondlocation from the server device 260 at block 410. The locationinformation in the message is associated with a navigation module, suchas navigation module 375, on the client device. As a result, at block420, the navigation module 375 extracts the location information fromthe received message and processes the location information to obtain anavigation track between the first and the second location. Inaccordance with some embodiments of the present invention, one of firstand second locations may be a current location of the client device.Moreover, as the current location of the client device changes, thenavigation module 375 may update the navigation track based on the newlocation of the client device. In other embodiments, neither of thefirst and second locations is a current location of the client device.

Referring to FIG. 5, exemplary server device operations begin at block500 where the server device 260 establishes communication with a clientdevice 220 a, 220 b. At block 510 the server device 260 sends a messagecontaining information associated with a first and/or a second locationto the client device 220 a, 220 b that is configured to allow the clientdevice to obtain the navigation track between the first and secondlocations as discussed above with respect to FIG. 4. In someembodiments, the client device 220 a, 220 b may send the first location,the second location, or both the first and second locations to theserver device 260 before the server device sends the message containingthe location information back to the client device 220 a, 220 b.

FIG. 6 is a message flow diagram that illustrates operations forprocessing location information at a client device to obtain anavigation track in accordance with some embodiments of the presentinvention. Referring to FIG. 6 and the network and client devicearchitectures of FIGS. 2 and 3, a user of a client device 220 a, 220 benters the URL (http://www.example.com/) for the server 260. The clientdevice 220 a, 220 b does an HTTP:GET towards the Internet sitewww.example.com, which is the domain name of the server 260. The server260 may be associated, for example, with a sports franchise and mayrespond to the client device 220 a, 220 b with a Web page that includesa hyperlink to the location for the team's stadium.

The client device user clicks on the hyperlink to request the stadiumlocation, which causes the client device 220 a, 220 b to do an HTTP:GETtowards the server 260. The server 260 responds with a Web page thatincludes location information for the stadium. The stadium locationinformation is either attached to the Web page (e.g., downloadabletherefrom) or embedded therein and is detected by the navigation module375 on the client device 220 a, 220 b. In some embodiments, the clientdevice 220 a, 220 b may request navigation information from thenavigation information repository server 250 to facilitate processingthe stadium location information. Moreover, in accordance with variousembodiments of the present invention, the user may invoke the navigationmodule 375 to process the stadium location information by, for example,clicking on an icon for the navigation module or an icon for thelocation information, or the navigation module 375 may process thestadium location information automatically. In some embodiments, theuser of the client device 220 a, 220 b may elect to save the locationinformation where it may be processed later even after the communicationsession with the server 260 has ended.

In the example shown in FIG. 6, the navigation module 375 may processthe stadium location information provided by the server 260 and displaya navigation track between a current location of the client device 220a, 220 b and the stadium location. If the client device is a mobileterminal 220 a, then the navigation module 375 may update the navigationtrack between the current location of the mobile terminal 220 a and thestadium location as mobile terminal 220 a changes location.

The flowchart/message flow diagrams of FIGS. 4-6 illustrate thearchitecture, functionality, and operations of embodiments of methods,client devices, server devices, and/or computer program products forobtaining a navigation track at a client device based on locationinformation obtained from a server device. In this regard, each blockand/or message and associated communication represents a module,segment, or portion of code, which comprises one or more executableinstructions for implementing the specified logical function(s). Itshould also be noted that in other implementations, the operation(s)noted in the blocks/messages may occur out of the order noted in FIGS.4-6. For example, two blocks/messages shown in succession may, in fact,be communicated substantially concurrently or the blocks/messages maysometimes be communicated in the reverse order, depending on thefunctionality involved.

Some embodiments of the present invention may be illustrated by way ofexample. FIGS. 7-10 illustrate navigation tracks that are generated by anavigation module on a client device based on location informationreceived from a server in accordance with various embodiments of thepresent invention.

Referring to FIG. 7, this navigation track example is similar to the onedescribed above with respect to FIG. 6. A user of a client device at 101Elm St. obtains location information for a sports stadium from, forexample, a Web page downloaded team's Web site. The navigation module onthe client device processes the location information for the stadium asdescribed above to determine a navigation path from the user's currentlocation (point A) to the stadium (point B). Referring now to FIG. 8,the location information for the stadium or the navigationinformation/data available locally and/or remotely via a navigationinformation repository server may include one or more waypoints.Waypoints are sets of coordinates that identify a point in physicalspace. These coordinates may include longitude and latitude. Waypointsare often associated with distinctive features, such as rock formations,springs, oases, mountains, buildings, roadways, waterways, railways, andthe like. As shown in FIG. 8, the navigation track includes a waypointin the form of a restaurant. This may assist the user in finding thestadium at point B as the restaurant is an indication that the user isapproaching an intersection where a turn on to a new road is required.

FIG. 9 illustrates a variation on the examples of FIGS. 7 and 8. In thisexample, the user of the client device proceeds to 501 Elm St. to pickup a friend to go to the stadium. By changing locations, however, theoriginal navigation path to the stadium is no longer the most desirableone. Accordingly, the navigation module on the user's client devicedetects the change in location and determines a new navigation path from501 Elm St. (point A′) to the stadium at point B. A new waypointcorresponding to a school is also provided to alert the user that a turnis upcoming.

FIG. 10 illustrates an example in which the navigation path is betweentwo locations not associated with the current location of the clientdevice. For example, the user of the client device may be at homepurchasing airline tickets for a business trip. On the airline'sWebsite, the user provides the address of his/her office location as theuser will be driving to the airport from the office. The airline sendsthe user an email with an attachment that includes location informationassociated with the user's office location and the local airport. Thenavigation module on the user's client device extracts the locationinformation from the email from the airline and allows the user to savethe location information in a local file. On the day of the trip, theuser clicks on the location information file, which triggers thenavigation module on the client device to process location informationand generate a navigation track between the user's office (point A) andthe airport (point B). A waypoint corresponding to a school is providedto alert the user that the airport is coming up soon.

Many variations and modifications can be made to the embodiments withoutsubstantially departing from the principles of the present invention.All such variations and modifications are intended to be included hereinwithin the scope of the present invention, as set forth in the followingclaims.

1-3. (canceled)
 4. A method, comprising: establishing a communicationconnection with a client device; and sending a message, responsive tothe establishing of the communication connection, to the client devicethat contains information associated with one of a first geographiclocation and a second geographic location to the client device, theinformation being associated with a navigation module on the clientdevice to allow the client device to process the information and todetermine a navigation track between the first geographic location andthe second geographic location.
 5. The method of claim 4, furthercomprising: receiving from the client device one of the first geographiclocation and the second geographic location before sending the message.6. The method of claim 4, wherein the information associated with one ofthe first geographic location and the second geographic locationcomprises a waypoint between the first geographic location and thesecond geographic location; wherein the information is an attachment tothe message.
 7. The method of claim 6, wherein the navigation trackbetween the first geographic location and the second geographic locationincludes the waypoint.
 8. The method of claim 6, wherein the messagecomprises one of a Short Message Service text message and an electronicmail.
 9. The method of claim 4, wherein the first geographic location isa current geographic location of the client device.
 10. The method ofclaim 4, wherein neither of the first geographic location and secondgeographic location is a current geographic location of the clientdevice.
 11. The method of claim 4, wherein the information associatedwith one of the first geographic location and the second geographiclocation comprises global positioning system information.
 12. The methodof claim 11, wherein the global positioning system information isencoded in a Global Positioning System eXchange format.
 13. A system,comprising: a processor; a memory coupled to the processor and havingcomputer executable code stored on the memory that when executed by theprocessor causes the processor to perform operations comprising:establishing a communication connection with a client device; andsending a message, responsive to the establishing of the communicationconnection, to the client device that contains information associatedwith one of a first geographic location and a second geographic locationto the client device, the information being associated with a navigationmodule on the client device to allow the client device to process theinformation and to determine a navigation track between the firstgeographic location and the second geographic location.
 14. The systemof claim 13, wherein the operations further comprise: receiving from theclient device one of the first geographic location and the secondgeographic location before sending the message.
 15. The system of claim13, wherein the information associated with one of the first geographiclocation and the second geographic location comprises a waypoint betweenthe first geographic location and the second geographic location;wherein the information is an attachment to the message.
 16. The systemof claim 15, wherein the navigation track between the first geographiclocation and the second geographic location includes the waypoint. 17.The system of claim 15, wherein the message comprises one of a ShortMessage Service text message and an electronic mail.
 18. The system ofclaim 13, wherein the first geographic location is a current geographiclocation of the client device.
 19. The system of claim 13, whereinneither of the first geographic location and second geographic locationis a current geographic location of the client device.
 20. The system ofclaim 13, wherein the information associated with one of the firstgeographic location and the second geographic location comprises globalpositioning system information.
 21. The system of claim 20, wherein theglobal positioning system information is encoded in a Global PositioningSystem eXchange format.
 22. A computer program product, comprising: atangible computer readable medium comprising computer readable programcode stored on the computer readable medium that when executed by aprocessor causes the processor to perform operations comprising:establishing a communication connection with a client device; andsending a message, responsive to the establishing of the communicationconnection, to the client device that contains information associatedwith one of a first geographic location and a second geographic locationto the client device, the information being associated with a navigationmodule on the client device to allow the client device to process theinformation and to determine a navigation track between the firstgeographic location and the second geographic location.
 23. The computerprogram product of claim 22, wherein the operations further comprise:receiving from the client device one of the first geographic locationand the second geographic location before sending the message.